/****************************************************************************
Супер-массив строк

Реализуйте структуру данных “массив строк” на основе **декартового дерева по неявному ключу** со следующими методами:

    // Добавление строки в позицию position.
    // Все последующие строки сдвигаются на одну позицию вперед.
    void InsertAt( int position, const std::string& value );
    // Удаление строки из позиции position.
    // Все последующие строки сдвигаются на одну позицию назад.
    void DeleteAt( int position );
    // Получение строки из позиции position.
    std::string GetAt( int position );

Все методы должны работать за O(log n) в среднем, где n – текущее количество строк в массиве.

*Формат входных данных*
Первая строка содержит количество команд k ≤ 106.
Последующие k строк содержат описания команд:
Команда “+ 10 hello”
означает добавление строки hello в позицию 10.
Команда “- 14”
означает удаление строки из позиции 14.
Команда “? 33”
означает запрос на вывод строки из массива в позиции 33.

*Формат выходных данных*
Выведите все строки, запрошенные командами “?”.

 |  in     | out |
 |---------|-----|
 |6        |krya |
 |+ 0 myau |gav  |
 |+ 0 krya |     |
 |? 0      |     |
 |+ 2 gav  |     |
 |- 1      |     |
 |? 1      |     |

****************************************************************************/

#include <iostream>

int main()
{
    return 0;
}

